const { app, BrowserWindow, globalShortcut, ipcMain } = require('electron')
const reloader = require('electron-reloader')
reloader(module,{})

// electron 初始化完成
app.on('ready', () => {
  // 窗口配置
  const mainWindow = new BrowserWindow({
    width: 900,
    height: 700,
    backgroundColor: '#FFBBFF',
    frame: false,
    icon: './monkey_01.png',
    webPreferences: {
      // 在渲染进程使用node代码
      nodeIntegration: true
    }
  })

  mainWindow.loadFile('./index.html')

  // 自定义菜单
  require('./menu.js')

  // const mainWindow2 = new BrowserWindow({
  //   width: 800,
  //   height: 800,
  //   backgroundColor: '#FFBBFF'
  // })

  // mainWindow2.loadURL('https://www.bilibili.com/')

  // 定义快捷键
  // 打开调试器
  globalShortcut.register('Ctrl+I', () => {
    mainWindow.webContents.openDevTools()
  })

  // 窗口最大
  globalShortcut.register('Ctrl+X', () => {
    mainWindow.maximize()
  })

  // 窗口最小
  globalShortcut.register('Ctrl+O', () => {
    mainWindow.minimize()
  })

  // 关闭窗口
  globalShortcut.register('Ctrl+L', () => {
    mainWindow.close()
  })

  globalShortcut.register('Ctrl+Z', () => {
    mainWindow.unmaximize()
  })

  // 定义自定义事件
  ipcMain.on('min-window', () => {
    mainWindow.minimize()
  })

  // 定义自定义事件
  ipcMain.on('max-window', () => {
    if(mainWindow.isMaximized()) return mainWindow.unmaximize()
    mainWindow.maximize()
  })

  // 定义自定义事件
  ipcMain.on('close-window', () => {
    mainWindow.close()
  })
})